// 定义reducer函数
// reducer函数的执行时机:
// 1. 当createStore执行的时候. reducer会被调用一次
// 2. store.dispatch调用的时候
// state的默认值是undefined给state设置默认值,是为了初始化数据
export default function reducer(state = { count: 1, msg: 'hello' }, action) {
  // state就是redux里面管理的所有数据
  // action 就是如何修改数据的一个需求对象
  //   console.log(state, action)
  switch (action.type) {
    case 'add':
      // const result = state.count + 1
      // state的数据不能直接修改,reducer函数中return什么state就被改成了什么
      return {
        ...state,
        // count: 1,
        // msg: 'hello'
        count: state.count + 1,
      }
    case 'sub':
      return {
        ...state,
        count: state.count - 1,
      }
    //   不管有多少个case,至少应该有一个default.下面是固定写法. 目的就是为了初始化redux中state的数据
    default:
      return state
  }
}
